import ctypes


class ANDORCAPS(ctypes.Structure):
    ulSize: int
    ulAcqModes: int
    ulReadModes: int
    ulTriggerModes: int
    ulCameraType: int
    ulPixelMode: int
    ulSetFunctions: int
    ulGetFunctions: int
    ulFeatures: int
    ulPCICard: int
    ulEMGainCapability: int
    ulFTReadModes: int
    ulFeatures2: int


class EmccdDll:
    def __init__(self, dll_path: str): ...
    
    def AbortAcquisition(self) -> int: ... 
    
    def CancelWait(self) -> int: ... 
    
    def CoolerOFF(self) -> int: ... 
    
    def CoolerON(self) -> int: ... 
    
    def DemosaicImage(self, grey: ctypes.POINTER, red: ctypes.POINTER, green: ctypes.POINTER, blue: ctypes.POINTER, info: ctypes.POINTER) -> int: ... 
    
    def EnableKeepCleans(self, iMode: int) -> int: ... 
    
    def EnableSensorCompensation(self, iMode: int) -> int: ... 
    
    def SetIRIGModulation(self, mode) -> int: ... 
    
    def FreeInternalMemory(self) -> int: ... 
    
    def GetAcquiredData(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetAcquiredData16(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetAcquiredFloatData(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetAcquisitionProgress(self, acc: ctypes.POINTER, series: ctypes.POINTER) -> int: ... 
    
    def GetAcquisitionTimings(self, exposure: ctypes.POINTER, accumulate: ctypes.POINTER, kinetic: ctypes.POINTER) -> int: ... 
    
    def GetAdjustedRingExposureTimes(self, inumTimes: int, fptimes: ctypes.POINTER) -> int: ... 
    
    def GetAllDMAData(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetAmpDesc(self, index: int, name: ctypes.POINTER, length: int) -> int: ... 
    
    def GetAmpMaxSpeed(self, index: int, speed: ctypes.POINTER) -> int: ... 
    
    def GetAvailableCameras(self, totalCameras: ctypes.POINTER) -> int: ... 
    
    def GetBackground(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetBaselineClamp(self, state: ctypes.POINTER) -> int: ... 
    
    def GetBitDepth(self, channel: int, depth: ctypes.POINTER) -> int: ... 
    
    def GetBitsPerPixel(self, readout_index: int, index: int, value: ctypes.POINTER) -> int: ... 
    
    def GetCameraEventStatus(self, camStatus: ctypes.POINTER) -> int: ... 
    
    def GetCameraHandle(self, cameraIndex: int, cameraHandle: ctypes.POINTER) -> int: ... 
    
    def GetCameraInformation(self, index: int, information: ctypes.POINTER) -> int: ... 
    
    def GetCameraSerialNumber(self, number: ctypes.POINTER) -> int: ... 
    
    def GetCapabilities(self, caps: ctypes.POINTER) -> int: ... 
    
    def GetControllerCardModel(self, controllerCardModel: ctypes.POINTER) -> int: ... 
    
    def GetCountConvertWavelengthRange(self, minval: ctypes.POINTER, maxval: ctypes.POINTER) -> int: ... 
    
    def GetCurrentCamera(self, cameraHandle: ctypes.POINTER) -> int: ... 
    
    def GetCYMGShift(self, iXshift: ctypes.POINTER, iYShift: ctypes.POINTER) -> int: ... 
    
    def GetDDGExternalOutputEnabled(self, uiIndex: int, puiEnabled: ctypes.POINTER) -> int: ... 
    
    def GetDDGExternalOutputPolarity(self, uiIndex: int, puiPolarity: ctypes.POINTER) -> int: ... 
    
    def GetDDGExternalOutputStepEnabled(self, uiIndex: int, puiEnabled: ctypes.POINTER) -> int: ... 
    
    def GetDDGExternalOutputTime(self, uiIndex: int, puiDelay: ctypes.POINTER, puiWidth: ctypes.POINTER) -> int: ... 
    
    def GetDDGTTLGateWidth(self, opticalWidth: int, ttlWidth: ctypes.POINTER) -> int: ... 
    
    def GetDDGGateTime(self, puiDelay: ctypes.POINTER, puiWidth: ctypes.POINTER) -> int: ... 
    
    def GetDDGInsertionDelay(self, piState: ctypes.POINTER) -> int: ... 
    
    def GetDDGIntelligate(self, piState: ctypes.POINTER) -> int: ... 
    
    def GetDDGIOC(self, state: ctypes.POINTER) -> int: ... 
    
    def GetDDGIOCFrequency(self, frequency: ctypes.POINTER) -> int: ... 
    
    def GetDDGIOCNumber(self, numberPulses: ctypes.POINTER) -> int: ... 
    
    def GetDDGIOCNumberRequested(self, pulses: ctypes.POINTER) -> int: ... 
    
    def GetDDGIOCPeriod(self, period: ctypes.POINTER) -> int: ... 
    
    def GetDDGIOCPulses(self, pulses: ctypes.POINTER) -> int: ... 
    
    def GetDDGIOCTrigger(self, trigger: ctypes.POINTER) -> int: ... 
    
    def GetDDGOpticalWidthEnabled(self, puiEnabled: ctypes.POINTER) -> int: ... 
    
    def GetDDGLiteControlByte(self, channel, control: ctypes.POINTER) -> int: ... 
    
    def GetDDGLiteInitialDelay(self, channel, fDelay: ctypes.POINTER) -> int: ... 
    
    def GetDDGLitePulseWidth(self, channel, fWidth: ctypes.POINTER) -> int: ... 
    
    def GetDDGLiteInterPulseDelay(self, channel, fDelay: ctypes.POINTER) -> int: ... 
    
    def GetDDGLitePulsesPerExposure(self, channel, ui32Pulses: ctypes.POINTER) -> int: ... 
    
    def GetDDGPulse(self, wid: float, resolution: float, Delay: ctypes.POINTER, Width: ctypes.POINTER) -> int: ... 
    
    def GetDDGStepCoefficients(self, mode: int, p1: ctypes.POINTER, p2: ctypes.POINTER) -> int: ... 
    
    def GetDDGWidthStepCoefficients(self, mode: int, p1: ctypes.POINTER, p2: ctypes.POINTER) -> int: ... 
    
    def GetDDGStepMode(self, mode: ctypes.POINTER) -> int: ... 
    
    def GetDDGWidthStepMode(self, mode: ctypes.POINTER) -> int: ... 
    
    def GetDetector(self, xpixels: ctypes.POINTER, ypixels: ctypes.POINTER) -> int: ... 
    
    def GetDICameraInfo(self, info: ctypes.POINTER) -> int: ... 
    
    def GetEMAdvanced(self, state: ctypes.POINTER) -> int: ... 
    
    def GetEMCCDGain(self, gain: ctypes.POINTER) -> int: ... 
    
    def GetEMGainRange(self, low: ctypes.POINTER, high: ctypes.POINTER) -> int: ... 
    
    def GetESDEventStatus(self, camStatus: ctypes.POINTER) -> int: ... 
    
    def GetExternalTriggerTermination(self, puiTermination: ctypes.POINTER) -> int: ... 
    
    def GetFastestRecommendedVSSpeed(self, index: ctypes.POINTER, speed: ctypes.POINTER) -> int: ... 
    
    def GetFIFOUsage(self, FIFOusage: ctypes.POINTER) -> int: ... 
    
    def GetFilterMode(self, mode: ctypes.POINTER) -> int: ... 
    
    def GetFKExposureTime(self, time: ctypes.POINTER) -> int: ... 
    
    def GetFKVShiftSpeed(self, index: int, speed: ctypes.POINTER) -> int: ... 
    
    def GetFKVShiftSpeedF(self, index: int, speed: ctypes.POINTER) -> int: ... 
    
    def GetFrontEndStatus(self, piFlag: ctypes.POINTER) -> int: ... 
    
    def GetGateMode(self, piGatemode: ctypes.POINTER) -> int: ... 
    
    def GetHardwareVersion(self, PCB: ctypes.POINTER, Decode: ctypes.POINTER, dummy1: ctypes.POINTER, dummy2: ctypes.POINTER, CameraFirmwareVersion: ctypes.POINTER, CameraFirmwareBuild: ctypes.POINTER) -> int: ... 
    
    def GetHeadModel(self, name: ctypes.POINTER) -> int: ... 
    
    def GetHorizontalSpeed(self, index: int, speed: ctypes.POINTER) -> int: ... 
    
    def GetHSSpeed(self, channel: int, typ: int, index: int, speed: ctypes.POINTER) -> int: ... 
    
    def GetHVflag(self, bFlag: ctypes.POINTER) -> int: ... 
    
    def GetID(self, devNum: int, id: ctypes.POINTER) -> int: ... 
    
    def GetImageFlip(self, iHFlip: ctypes.POINTER, iVFlip: ctypes.POINTER) -> int: ... 
    
    def GetImageRotate(self, iRotate: ctypes.POINTER) -> int: ... 
    
    def GetImages(self, first: int, last: int, arr: ctypes.POINTER, size: int, validfirst: ctypes.POINTER, validlast: ctypes.POINTER) -> int: ... 
    
    def GetImages16(self, first: int, last: int, arr: ctypes.POINTER, size: int, validfirst: ctypes.POINTER, validlast: ctypes.POINTER) -> int: ... 
    
    def GetImagesPerDMA(self, images: ctypes.POINTER) -> int: ... 
    
    def GetIRQ(self, IRQ: ctypes.POINTER) -> int: ... 
    
    def GetKeepCleanTime(self, KeepCleanTime: ctypes.POINTER) -> int: ... 
    
    def GetMaximumBinning(self, ReadMode: int, HorzVert: int, MaxBinning: ctypes.POINTER) -> int: ... 
    
    def GetMaximumExposure(self, MaxExp: ctypes.POINTER) -> int: ... 
    
    def GetMaximumNumberRingExposureTimes(self, number: ctypes.POINTER) -> int: ... 
    
    def GetMCPGain(self, piGain: ctypes.POINTER) -> int: ... 
    
    def GetMCPGainRange(self, iLow: ctypes.POINTER, iHigh: ctypes.POINTER) -> int: ... 
    
    def GetMCPGainTable(self, iNum: int, piGain: ctypes.POINTER, pfPhotoepc: ctypes.POINTER) -> int: ... 
    
    def GetMCPVoltage(self, iVoltage: ctypes.POINTER) -> int: ... 
    
    def GetMinimumImageLength(self, MinImageLength: ctypes.POINTER) -> int: ... 
    
    def GetMinimumNumberInSeries(self, number: ctypes.POINTER) -> int: ... 
    
    def GetMostRecentColorImage16(self, size: int, algorithm: int, red: ctypes.POINTER, green: ctypes.POINTER, blue: ctypes.POINTER) -> int: ... 
    
    def GetMostRecentImage(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetMostRecentImage16(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetMSTimingsData(self, TimeOfStart: ctypes.POINTER, pfDifferences: ctypes.POINTER, inoOfImages: int) -> int: ... 
    
    def GetMetaDataInfo(self, TimeOfStart: ctypes.POINTER, pfTimeFromStart: ctypes.POINTER, index: int) -> int: ... 
    
    def GetMSTimingsEnabled(self) -> int: ... 
    
    def GetNewData(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetNewData16(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetNewData8(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetNewFloatData(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetNumberADChannels(self, channels: ctypes.POINTER) -> int: ... 
    
    def GetNumberAmp(self, amp: ctypes.POINTER) -> int: ... 
    
    def GetNumberAvailableImages(self, first: ctypes.POINTER, last: ctypes.POINTER) -> int: ... 
    
    def GetNumberDDGExternalOutputs(self, puiCount: ctypes.POINTER) -> int: ... 
    
    def GetNumberDevices(self, numDevs: ctypes.POINTER) -> int: ... 
    
    def GetNumberFKVShiftSpeeds(self, number: ctypes.POINTER) -> int: ... 
    
    def GetNumberHorizontalSpeeds(self, number: ctypes.POINTER) -> int: ... 
    
    def GetNumberHSSpeeds(self, channel: int, typ: int, speeds: ctypes.POINTER) -> int: ... 
    
    def GetNumberMissedExternalTriggers(self, first: int, last: int, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetIRIGData(self, _uc_irigData: ctypes.POINTER, _ui_index: int) -> int: ... 
    
    def GetMetaData(self, data: ctypes.POINTER, _ui_index: int) -> int: ... 
    
    def GetNumberNewImages(self, first: ctypes.POINTER, last: ctypes.POINTER) -> int: ... 
    
    def GetNumberPhotonCountingDivisions(self, noOfDivisions: ctypes.POINTER) -> int: ... 
    
    def GetNumberPreAmpGains(self, noGains: ctypes.POINTER) -> int: ... 
    
    def GetNumberRingExposureTimes(self, ipnumTimes: ctypes.POINTER) -> int: ... 
    
    def GetNumberIO(self, iNumber: ctypes.POINTER) -> int: ... 
    
    def GetNumberVerticalSpeeds(self, number: ctypes.POINTER) -> int: ... 
    
    def GetNumberVSAmplitudes(self, number: ctypes.POINTER) -> int: ... 
    
    def GetNumberVSSpeeds(self, speeds: ctypes.POINTER) -> int: ... 
    
    def GetOldestImage(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetOldestImage16(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetPhosphorStatus(self, piFlag: ctypes.POINTER) -> int: ... 
    
    def GetPhysicalDMAAddress(self, Address1: ctypes.POINTER, Address2: ctypes.POINTER) -> int: ... 
    
    def GetPixelSize(self, xSize: ctypes.POINTER, ySize: ctypes.POINTER) -> int: ... 
    
    def GetPreAmpGain(self, index: int, gain: ctypes.POINTER) -> int: ... 
    
    def GetPreAmpGainText(self, index: int, name: ctypes.POINTER, length: int) -> int: ... 
    
    def GetCurrentPreAmpGain(self, index: ctypes.POINTER, name: ctypes.POINTER, length: int) -> int: ... 
    
    def GetDualExposureTimes(self, exposure1: ctypes.POINTER, exposure2: ctypes.POINTER) -> int: ... 
    
    def GetQE(self, sensor: ctypes.POINTER, wavelength: float, mode: int, QE: ctypes.POINTER) -> int: ... 
    
    def GetReadOutTime(self, ReadOutTime: ctypes.POINTER) -> int: ... 
    
    def GetRegisterDump(self, mode: ctypes.POINTER) -> int: ... 
    
    def GetRelativeImageTimes(self, first: int, last: int, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def GetRingExposureRange(self, fpMin: ctypes.POINTER, fpMax: ctypes.POINTER) -> int: ... 
    
    def GetSDK3Handle(self, Handle: ctypes.POINTER) -> int: ... 
    
    def GetSensitivity(self, channel: int, horzShift: int, amplifier: int, pa: int, sensitivity: ctypes.POINTER) -> int: ... 
    
    def GetShutterMinTimes(self, minclosingtime: ctypes.POINTER, minopeningtime: ctypes.POINTER) -> int: ... 
    
    def GetSizeOfCircularBuffer(self, index: ctypes.POINTER) -> int: ... 
    
    def GetSlotBusDeviceFunction(self, dwslot: ctypes.POINTER, dwBus: ctypes.POINTER, dwDevice: ctypes.POINTER, dwFunction: ctypes.POINTER) -> int: ... 
    
    def GetSoftwareVersion(self, eprom: ctypes.POINTER, coffile: ctypes.POINTER, vxdrev: ctypes.POINTER, vxdver: ctypes.POINTER, dllrev: ctypes.POINTER, dllver: ctypes.POINTER) -> int: ... 
    
    def GetSpoolProgress(self, index: ctypes.POINTER) -> int: ... 
    
    def GetStartUpTime(self, time: ctypes.POINTER) -> int: ... 
    
    def GetStatus(self, status: ctypes.POINTER) -> int: ... 
    
    def GetTECStatus(self, piFlag: ctypes.POINTER) -> int: ... 
    
    def GetTemperature(self, temperature: ctypes.POINTER) -> int: ... 
    
    def GetTemperatureF(self, temperature: ctypes.POINTER) -> int: ... 
    
    def GetTemperatureRange(self, mintemp: ctypes.POINTER, maxtemp: ctypes.POINTER) -> int: ... 
    
    def GetTemperaturePrecision(self, precision: ctypes.POINTER) -> int: ... 
    
    def GetTemperatureStatus(self, SensorTemp: ctypes.POINTER, TargetTemp: ctypes.POINTER, AmbientTemp: ctypes.POINTER, CoolerVolts: ctypes.POINTER) -> int: ... 
    
    def GetTotalNumberImagesAcquired(self, index: ctypes.POINTER) -> int: ... 
    
    def GetIODirection(self, index: int, iDirection: ctypes.POINTER) -> int: ... 
    
    def GetIOLevel(self, index: int, iLevel: ctypes.POINTER) -> int: ... 
    
    def GetUSBDeviceDetails(self, VendorID: ctypes.POINTER, ProductID: ctypes.POINTER, FirmwareVersion: ctypes.POINTER, SpecificationNumber: ctypes.POINTER) -> int: ... 
    
    def GetVersionInfo(self, arr, szVersionInfo: ctypes.POINTER, ui32BufferLen: int) -> int: ... 
    
    def GetVerticalSpeed(self, index: int, speed: ctypes.POINTER) -> int: ... 
    
    def GetVirtualDMAAddress(self, Address1: ctypes.POINTER, Address2: ctypes.POINTER) -> int: ... 
    
    def GetVSAmplitudeString(self, index: int, text: ctypes.POINTER) -> int: ... 
    
    def GetVSAmplitudeFromString(self, text: ctypes.POINTER, index: ctypes.POINTER) -> int: ... 
    
    def GetVSAmplitudeValue(self, index: int, value: ctypes.POINTER) -> int: ... 
    
    def GetVSSpeed(self, index: int, speed: ctypes.POINTER) -> int: ... 
    
    def GPIBReceive(self, id: int, address, text: ctypes.POINTER, size: int) -> int: ... 
    
    def GPIBSend(self, id: int, address, text: ctypes.POINTER) -> int: ... 
    
    def I2CBurstRead(self, i2cAddress, nBytes: int, data: ctypes.POINTER) -> int: ... 
    
    def I2CBurstWrite(self, i2cAddress, nBytes: int, data: ctypes.POINTER) -> int: ... 
    
    def I2CRead(self, deviceID, intAddress, pdata: ctypes.POINTER) -> int: ... 
    
    def I2CReset(self) -> int: ... 
    
    def I2CWrite(self, deviceID, intAddress, data) -> int: ... 
    
    def IdAndorDll(self) -> int: ... 
    
    def InAuxPort(self, port: int, state: ctypes.POINTER) -> int: ... 
    
    def Initialize(self, dir: ctypes.POINTER) -> int: ... 
    
    def InitializeDevice(self, dir: ctypes.POINTER) -> int: ... 
    
    def IsAmplifierAvailable(self, iamp: int) -> int: ... 
    
    def IsCoolerOn(self, iCoolerStatus: ctypes.POINTER) -> int: ... 
    
    def IsCountConvertModeAvailable(self, mode: int) -> int: ... 
    
    def IsInternalMechanicalShutter(self, InternalShutter: ctypes.POINTER) -> int: ... 
    
    def IsPreAmpGainAvailable(self, channel: int, amplifier: int, index: int, pa: int, status: ctypes.POINTER) -> int: ... 
    
    def IsReadoutFlippedByAmplifier(self, iAmplifier: int, iFlipped: ctypes.POINTER) -> int: ... 
    
    def IsTriggerModeAvailable(self, iTriggerMode: int) -> int: ... 
    
    def Merge(self, arr: ctypes.POINTER, nOrder: int, nPoint: int, nPixel: int, coeff: ctypes.POINTER, fit: int, hbin: int, output: ctypes.POINTER, start: ctypes.POINTER, step_Renamed: ctypes.POINTER) -> int: ... 
    
    def OutAuxPort(self, port: int, state: int) -> int: ... 
    
    def PrepareAcquisition(self) -> int: ... 
    
    def SaveAsBmp(self, path: ctypes.POINTER, palette: ctypes.POINTER, ymin: int, ymax: int) -> int: ... 
    
    def SaveAsCalibratedSif(self, path: ctypes.POINTER, x_data_type: int, x_unit: int, x_cal: ctypes.POINTER, rayleighWavelength: float) -> int: ... 
    
    def SaveAsCommentedSif(self, path: ctypes.POINTER, comment: ctypes.POINTER) -> int: ... 
    
    def SaveAsEDF(self, szPath: ctypes.POINTER, iMode: int) -> int: ... 
    
    def SaveAsFITS(self, szFileTitle: ctypes.POINTER, typ: int) -> int: ... 
    
    def SaveAsRaw(self, szFileTitle: ctypes.POINTER, typ: int) -> int: ... 
    
    def SaveAsSif(self, path: ctypes.POINTER) -> int: ... 
    
    def SaveAsSPC(self, path: ctypes.POINTER) -> int: ... 
    
    def SaveAsTiff(self, path: ctypes.POINTER, palette: ctypes.POINTER, position: int, typ: int) -> int: ... 
    
    def SaveAsTiffEx(self, path: ctypes.POINTER, palette: ctypes.POINTER, position: int, typ: int, mode: int) -> int: ... 
    
    def SaveEEPROMToFile(self, cFileName: ctypes.POINTER) -> int: ... 
    
    def SaveToClipBoard(self, palette: ctypes.POINTER) -> int: ... 
    
    def SelectDevice(self, devNum: int) -> int: ... 
    
    def SendSoftwareTrigger(self) -> int: ... 
    
    def SetAccumulationCycleTime(self, time: float) -> int: ... 
    
    def SetAcqStatusEvent(self, statusEvent) -> int: ... 
    
    def SetAcquisitionMode(self, mode: int) -> int: ... 
    
    def SetSensorPortMode(self, mode: int) -> int: ... 
    
    def SelectSensorPort(self, port: int) -> int: ... 
    
    def SetSizeOfCircularBufferMegaBytes(self, sizeMB: int) -> int: ... 
    
    def SelectDualSensorPort(self, port: int) -> int: ... 
    
    def SetAcquisitionType(self, typ: int) -> int: ... 
    
    def SetADChannel(self, channel: int) -> int: ... 
    
    def SetAdvancedTriggerModeState(self, iState: int) -> int: ... 
    
    def SetBackground(self, arr: ctypes.POINTER, size: int) -> int: ... 
    
    def SetBaselineClamp(self, state: int) -> int: ... 
    
    def SetBaselineOffset(self, offset: int) -> int: ... 
    
    def SetBitsPerPixel(self, state: int) -> int: ... 
    
    def SetCameraLinkMode(self, mode: int) -> int: ... 
    
    def SetCameraStatusEnable(self, Enable) -> int: ... 
    
    def SetChargeShifting(self, NumberRows: int, NumberRepeats: int) -> int: ... 
    
    def SetComplexImage(self, numAreas: int, areas: ctypes.POINTER) -> int: ... 
    
    def SetCoolerMode(self, mode: int) -> int: ... 
    
    def SetCountConvertMode(self, Mode: int) -> int: ... 
    
    def SetCountConvertWavelength(self, wavelength: float) -> int: ... 
    
    def SetCropMode(self, active: int, cropHeight: int, reserved: int) -> int: ... 
    
    def SetCurrentCamera(self, cameraHandle: int) -> int: ... 
    
    def SetCustomTrackHBin(self, bin: int) -> int: ... 
    
    def SetDataType(self, typ: int) -> int: ... 
    
    def SetDACOutput(self, iOption: int, iResolution: int, iValue: int) -> int: ... 
    
    def SetDACOutputScale(self, iScale: int) -> int: ... 
    
    def SetDDGAddress(self, t0, t1, t2, t3, address) -> int: ... 
    
    def SetDDGExternalOutputEnabled(self, uiIndex: int, uiEnabled: int) -> int: ... 
    
    def SetDDGExternalOutputPolarity(self, uiIndex: int, uiPolarity: int) -> int: ... 
    
    def SetDDGExternalOutputStepEnabled(self, uiIndex: int, uiEnabled: int) -> int: ... 
    
    def SetDDGExternalOutputTime(self, uiIndex: int, uiDelay: int, uiWidth: int) -> int: ... 
    
    def SetDDGGain(self, gain: int) -> int: ... 
    
    def SetDDGGateStep(self, step_Renamed: float) -> int: ... 
    
    def SetDDGGateTime(self, uiDelay: int, uiWidth: int) -> int: ... 
    
    def SetDDGInsertionDelay(self, state: int) -> int: ... 
    
    def SetDDGIntelligate(self, state: int) -> int: ... 
    
    def SetDDGIOC(self, state: int) -> int: ... 
    
    def SetDDGIOCFrequency(self, frequency: float) -> int: ... 
    
    def SetDDGIOCNumber(self, numberPulses: int) -> int: ... 
    
    def SetDDGIOCPeriod(self, period: int) -> int: ... 
    
    def SetDDGIOCTrigger(self, trigger: int) -> int: ... 
    
    def SetDDGOpticalWidthEnabled(self, uiEnabled: int) -> int: ... 
    
    def SetDDGLiteControlByte(self, channel, control: int) -> int: ... 
    
    def SetDDGLiteInitialDelay(self, channel, fDelay: float) -> int: ... 
    
    def SetDDGLitePulseWidth(self, channel, fWidth: float) -> int: ... 
    
    def SetDDGLiteInterPulseDelay(self, channel, fDelay: float) -> int: ... 
    
    def SetDDGLitePulsesPerExposure(self, channel, ui32Pulses: int) -> int: ... 
    
    def SetDDGStepCoefficients(self, mode: int, p1: float, p2: float) -> int: ... 
    
    def SetDDGWidthStepCoefficients(self, mode: int, p1: float, p2: float) -> int: ... 
    
    def SetDDGStepMode(self, mode: int) -> int: ... 
    
    def SetDDGWidthStepMode(self, mode: int) -> int: ... 
    
    def SetDDGTimes(self, t0: float, t1: float, t2: float) -> int: ... 
    
    def SetDDGTriggerMode(self, mode: int) -> int: ... 
    
    def SetDDGVariableGateStep(self, mode: int, p1: float, p2: float) -> int: ... 
    
    def SetDelayGenerator(self, board: int, address, typ: int) -> int: ... 
    
    def SetDMAParameters(self, MaxImagesPerDMA: int, SecondsPerDMA: float) -> int: ... 
    
    def SetDriverEvent(self, driverEvent) -> int: ... 
    
    def SetESDEvent(self, esdEvent) -> int: ... 
    
    def SetEMAdvanced(self, state: int) -> int: ... 
    
    def SetEMCCDGain(self, gain: int) -> int: ... 
    
    def SetEMClockCompensation(self, EMClockCompensationFlag: int) -> int: ... 
    
    def SetEMGainMode(self, mode: int) -> int: ... 
    
    def SetExposureTime(self, time: float) -> int: ... 
    
    def SetExternalTriggerTermination(self, uiTermination: int) -> int: ... 
    
    def SetFanMode(self, mode: int) -> int: ... 
    
    def SetFastExtTrigger(self, mode: int) -> int: ... 
    
    def SetFastKinetics(self, exposedRows: int, seriesLength: int, time: float, mode: int, hbin: int, vbin: int) -> int: ... 
    
    def SetFastKineticsEx(self, exposedRows: int, seriesLength: int, time: float, mode: int, hbin: int, vbin: int, offset: int) -> int: ... 
    
    def SetFastKineticsStorageMode(self, mode: int) -> int: ... 
    
    def SetFastKineticsTimeScanMode(self, rows: int, tracks: int, mode: int) -> int: ... 
    
    def SetFilterMode(self, mode: int) -> int: ... 
    
    def SetFilterParameters(self, width: int, sensitivity: float, range: int, accept: float, smooth: int, noise: int) -> int: ... 
    
    def SetFKVShiftSpeed(self, index: int) -> int: ... 
    
    def SetFPDP(self, state: int) -> int: ... 
    
    def SetFrameTransferMode(self, mode: int) -> int: ... 
    
    def SetFrontEndEvent(self, driverEvent) -> int: ... 
    
    def SetFullImage(self, hbin: int, vbin: int) -> int: ... 
    
    def SetFVBHBin(self, bin: int) -> int: ... 
    
    def SetGain(self, gain: int) -> int: ... 
    
    def SetGate(self, delay: float, width: float, stepRenamed: float) -> int: ... 
    
    def SetGateMode(self, gatemode: int) -> int: ... 
    
    def SetHighCapacity(self, state: int) -> int: ... 
    
    def SetHorizontalSpeed(self, index: int) -> int: ... 
    
    def SetHSSpeed(self, typ: int, index: int) -> int: ... 
    
    def SetImage(self, hbin: int, vbin: int, hstart: int, hend: int, vstart: int, vend: int) -> int: ... 
    
    def SetImageFlip(self, iHFlip: int, iVFlip: int) -> int: ... 
    
    def SetImageRotate(self, iRotate: int) -> int: ... 
    
    def SetIsolatedCropMode(self, active: int, cropheight: int, cropwidth: int, vbin: int, hbin: int) -> int: ... 
    
    def SetIsolatedCropModeEx(self, active: int, cropheight: int, cropwidth: int, vbin: int, hbin: int, cropleft: int, cropbottom: int) -> int: ... 
    
    def SetIsolatedCropModeType(self, type: int) -> int: ... 
    
    def SetKineticCycleTime(self, time: float) -> int: ... 
    
    def SetMCPGain(self, gain: int) -> int: ... 
    
    def SetMCPGating(self, gating: int) -> int: ... 
    
    def SetMessageWindow(self, wnd) -> int: ... 
    
    def SetMetaData(self, state: int) -> int: ... 
    
    def SetMultiTrack(self, number: int, height: int, offset: int, bottom: ctypes.POINTER, gap: ctypes.POINTER) -> int: ... 
    
    def SetMultiTrackHBin(self, bin: int) -> int: ... 
    
    def SetMultiTrackHRange(self, iStart: int, iEnd: int) -> int: ... 
    
    def SetMultiTrackScan(self, trackHeight: int, numberTracks: int, iSIHStart: int, iSIHEnd: int, trackHBinning: int, trackVBinning: int, trackGap: int, trackOffset: int, trackSkip: int, numberSubFrames: int) -> int: ... 
    
    def SetNextAddress(self, data: ctypes.POINTER, lowAdd: int, highAdd: int, length: int, physical: int) -> int: ... 
    
    def SetNextAddress16(self, data: ctypes.POINTER, lowAdd: int, highAdd: int, length: int, physical: int) -> int: ... 
    
    def SetNumberAccumulations(self, number: int) -> int: ... 
    
    def SetNumberKinetics(self, number: int) -> int: ... 
    
    def SetNumberPrescans(self, iNumber: int) -> int: ... 
    
    def SetOutputAmplifier(self, typ: int) -> int: ... 
    
    def SetOverlapMode(self, mode: int) -> int: ... 
    
    def SetOverTempEvent(self, tempEvent) -> int: ... 
    
    def SetPCIMode(self, mode: int, value: int) -> int: ... 
    
    def SetPhotonCounting(self, state: int) -> int: ... 
    
    def SetPhotonCountingThreshold(self, min: int, max: int) -> int: ... 
    
    def SetPhosphorEvent(self, driverEvent) -> int: ... 
    
    def SetPhotonCountingDivisions(self, noOfDivisions: int, divisions: ctypes.POINTER) -> int: ... 
    
    def SetPixelMode(self, bitdepth: int, colormode: int) -> int: ... 
    
    def SetPreAmpGain(self, index: int) -> int: ... 
    
    def SetDualExposureTimes(self, expTime1: float, expTime2: float) -> int: ... 
    
    def SetDualExposureMode(self, mode: int) -> int: ... 
    
    def SetRandomTracks(self, numTracks: int, areas: ctypes.POINTER) -> int: ... 
    
    def SetReadMode(self, mode: int) -> int: ... 
    
    def SetReadoutRegisterPacking(self, mode: int) -> int: ... 
    
    def SetRegisterDump(self, mode: int) -> int: ... 
    
    def SetRingExposureTimes(self, numTimes: int, times: ctypes.POINTER) -> int: ... 
    
    def SetSaturationEvent(self, saturationEvent) -> int: ... 
    
    def SetShutter(self, typ: int, mode: int, closingtime: int, openingtime: int) -> int: ... 
    
    def SetShutterEx(self, typ: int, mode: int, closingtime: int, openingtime: int, extmode: int) -> int: ... 
    
    def SetShutters(self, typ: int, mode: int, closingtime: int, openingtime: int, exttype: int, extmode: int, dummy1: int, dummy2: int) -> int: ... 
    
    def SetSifComment(self, comment: ctypes.POINTER) -> int: ... 
    
    def SetSingleTrack(self, centre: int, height: int) -> int: ... 
    
    def SetSingleTrackHBin(self, bin: int) -> int: ... 
    
    def SetSpool(self, active: int, method: int, path: ctypes.POINTER, framebuffersize: int) -> int: ... 
    
    def SetSpoolThreadCount(self, count: int) -> int: ... 
    
    def SetStorageMode(self, mode: int) -> int: ... 
    
    def SetTECEvent(self, driverEvent) -> int: ... 
    
    def SetTemperature(self, temperature: int) -> int: ... 
    
    def SetTemperatureEvent(self, temperatureEvent) -> int: ... 
    
    def SetTriggerMode(self, mode: int) -> int: ... 
    
    def SetTriggerInvert(self, mode: int) -> int: ... 
    
    def GetTriggerLevelRange(self, minimum: ctypes.POINTER, maximum: ctypes.POINTER) -> int: ... 
    
    def SetTriggerLevel(self, f_level: float) -> int: ... 
    
    def SetIODirection(self, index: int, iDirection: int) -> int: ... 
    
    def SetIOLevel(self, index: int, iLevel: int) -> int: ... 
    
    def SetUserEvent(self, userEvent) -> int: ... 
    
    def SetUSGenomics(self, width: int, height: int) -> int: ... 
    
    def SetVerticalRowBuffer(self, rows: int) -> int: ... 
    
    def SetVerticalSpeed(self, index: int) -> int: ... 
    
    def SetVirtualChip(self, state: int) -> int: ... 
    
    def SetVSAmplitude(self, index: int) -> int: ... 
    
    def SetVSSpeed(self, index: int) -> int: ... 
    
    def ShutDown(self) -> int: ... 
    
    def StartAcquisition(self) -> int: ... 
    
    def UnMapPhysicalAddress(self) -> int: ... 
    
    def UpdateDDGTimings(self) -> int: ... 
    
    def WaitForAcquisition(self) -> int: ... 
    
    def WaitForAcquisitionByHandle(self, cameraHandle: int) -> int: ... 
    
    def WaitForAcquisitionByHandleTimeOut(self, cameraHandle: int, iTimeOutMs: int) -> int: ... 
    
    def WaitForAcquisitionTimeOut(self, iTimeOutMs: int) -> int: ... 
    
    def WhiteBalance(self, wRed: ctypes.POINTER, wGreen: ctypes.POINTER, wBlue: ctypes.POINTER, fRelR: ctypes.POINTER, fRelB: ctypes.POINTER, info: ctypes.POINTER) -> int: ... 
    
    def OA_Initialize(self, pcFilename, uiFileNameLen: int) -> int: ... 
    
    def OA_IsPreSetModeAvailable(self, pcModeName) -> int: ... 
    
    def OA_EnableMode(self, pcModeName) -> int: ... 
    
    def OA_GetModeAcqParams(self, pcModeName, pcListOfParams) -> int: ... 
    
    def OA_GetUserModeNames(self, pcListOfModes: ctypes.POINTER) -> int: ... 
    
    def OA_GetPreSetModeNames(self, pcListOfModes: ctypes.POINTER) -> int: ... 
    
    def OA_GetNumberOfUserModes(self, puiNumberOfModes) -> int: ... 
    
    def OA_GetNumberOfPreSetModes(self, puiNumberOfModes) -> int: ... 
    
    def OA_GetNumberOfAcqParams(self, pcModeName, puiNumberOfParams) -> int: ... 
    
    def OA_AddMode(self, pcModeName: ctypes.POINTER, uiModeNameLen: int, pcModeDescription: ctypes.POINTER, uiModeDescriptionLen: int) -> int: ... 
    
    def OA_WriteToFile(self, pcFileName, uiFileNameLen: int) -> int: ... 
    
    def OA_DeleteMode(self, pcModeName, uiModeNameLen: int) -> int: ... 
    
    def OA_SetInt(self, pcModeName, pcModeParam: ctypes.POINTER, iIntValue: int) -> int: ... 
    
    def OA_SetFloat(self, pcModeName, pcModeParam: ctypes.POINTER, fFloatValue: float) -> int: ... 
    
    def OA_SetString(self, pcModeName, pcModeParam: ctypes.POINTER, pcStringValue: ctypes.POINTER, uiStringLen: int) -> int: ... 
    
    def OA_GetInt(self, pcModeName, pcModeParam, iIntValue: ctypes.POINTER) -> int: ... 
    
    def OA_GetFloat(self, pcModeName, pcModeParam, fFloatValue: ctypes.POINTER) -> int: ... 
    
    def OA_GetString(self, pcModeName, pcModeParam, pcStringValue: ctypes.POINTER, uiStringLen: int) -> int: ... 
    
    def Filter_SetMode(self, mode: int) -> int: ... 
    
    def Filter_GetMode(self, mode: ctypes.POINTER) -> int: ... 
    
    def Filter_SetThreshold(self, threshold: float) -> int: ... 
    
    def Filter_GetThreshold(self, threshold: ctypes.POINTER) -> int: ... 
    
    def Filter_SetDataAveragingMode(self, mode: int) -> int: ... 
    
    def Filter_GetDataAveragingMode(self, mode: ctypes.POINTER) -> int: ... 
    
    def Filter_SetAveragingFrameCount(self, frames: int) -> int: ... 
    
    def Filter_GetAveragingFrameCount(self, frames: ctypes.POINTER) -> int: ... 
    
    def Filter_SetAveragingFactor(self, averagingFactor: int) -> int: ... 
    
    def Filter_GetAveragingFactor(self, averagingFactor: ctypes.POINTER) -> int: ... 
    
    def PostProcessNoiseFilter(self, pInputImage: ctypes.POINTER, pOutputImage: ctypes.POINTER, iOutputBufferSize: int, iBaseline: int, iMode: int, fThreshold: float, iHeight: int, iWidth: int) -> int: ... 
    
    def PostProcessCountConvert(self, pInputImage: ctypes.POINTER, pOutputImage: ctypes.POINTER, iOutputBufferSize: int, iNumImages: int, iBaseline: int, iMode: int, iEmGain: int, fQE: float, fSensitivity: float, iHeight: int, iWidth: int) -> int: ... 
    
    def PostProcessPhotonCounting(self, pInputImage: ctypes.POINTER, pOutputImage: ctypes.POINTER, iOutputBufferSize: int, iNumImages: int, iNumframes: int, iNumberOfThresholds: int, pfThreshold: ctypes.POINTER, iHeight: int, iWidth: int) -> int: ... 
    
    def PostProcessDataAveraging(self, pInputImage: ctypes.POINTER, pOutputImage: ctypes.POINTER, iOutputBufferSize: int, iNumImages: int, iAveragingFilterMode: int, iHeight: int, iWidth: int, iFrameCount: int, iAveragingFactor: int) -> int: ... 

DRV_ERROR_CODES = 20001
DRV_SUCCESS = 20002
DRV_VXDNOTINSTALLED = 20003
DRV_ERROR_SCAN = 20004
DRV_ERROR_CHECK_SUM = 20005
DRV_ERROR_FILELOAD = 20006
DRV_UNKNOWN_FUNCTION = 20007
DRV_ERROR_VXD_INIT = 20008
DRV_ERROR_ADDRESS = 20009
DRV_ERROR_PAGELOCK = 20010
DRV_ERROR_PAGEUNLOCK = 20011
DRV_ERROR_BOARDTEST = 20012
DRV_ERROR_ACK = 20013
DRV_ERROR_UP_FIFO = 20014
DRV_ERROR_PATTERN = 20015
DRV_ACQUISITION_ERRORS = 20017
DRV_ACQ_BUFFER = 20018
DRV_ACQ_DOWNFIFO_FULL = 20019
DRV_PROC_UNKONWN_INSTRUCTION = 20020
DRV_ILLEGAL_OP_CODE = 20021
DRV_KINETIC_TIME_NOT_MET = 20022
DRV_ACCUM_TIME_NOT_MET = 20023
DRV_NO_NEW_DATA = 20024
DRV_PCI_DMA_FAIL = 20025
DRV_SPOOLERROR = 20026
DRV_SPOOLSETUPERROR = 20027
DRV_FILESIZELIMITERROR = 20028
DRV_ERROR_FILESAVE = 20029
DRV_TEMPERATURE_CODES = 20033
DRV_TEMPERATURE_OFF = 20034
DRV_TEMPERATURE_NOT_STABILIZED = 20035
DRV_TEMPERATURE_STABILIZED = 20036
DRV_TEMPERATURE_NOT_REACHED = 20037
DRV_TEMPERATURE_OUT_RANGE = 20038
DRV_TEMPERATURE_NOT_SUPPORTED = 20039
DRV_TEMPERATURE_DRIFT = 20040
DRV_TEMP_CODES = 20033
DRV_TEMP_OFF = 20034
DRV_TEMP_NOT_STABILIZED = 20035
DRV_TEMP_STABILIZED = 20036
DRV_TEMP_NOT_REACHED = 20037
DRV_TEMP_OUT_RANGE = 20038
DRV_TEMP_NOT_SUPPORTED = 20039
DRV_TEMP_DRIFT = 20040
DRV_GENERAL_ERRORS = 20049
DRV_INVALID_AUX = 20050
DRV_COF_NOTLOADED = 20051
DRV_FPGAPROG = 20052
DRV_FLEXERROR = 20053
DRV_GPIBERROR = 20054
DRV_EEPROMVERSIONERROR = 20055
DRV_DATATYPE = 20064
DRV_DRIVER_ERRORS = 20065
DRV_P1INVALID = 20066
DRV_P2INVALID = 20067
DRV_P3INVALID = 20068
DRV_P4INVALID = 20069
DRV_INIERROR = 20070
DRV_COFERROR = 20071
DRV_ACQUIRING = 20072
DRV_IDLE = 20073
DRV_TEMPCYCLE = 20074
DRV_NOT_INITIALIZED = 20075
DRV_P5INVALID = 20076
DRV_P6INVALID = 20077
DRV_INVALID_MODE = 20078
DRV_INVALID_FILTER = 20079
DRV_I2CERRORS = 20080
DRV_I2CDEVNOTFOUND = 20081
DRV_I2CTIMEOUT = 20082
DRV_P7INVALID = 20083
DRV_P8INVALID = 20084
DRV_P9INVALID = 20085
DRV_P10INVALID = 20086
DRV_P11INVALID = 20087
DRV_USBERROR = 20089
DRV_IOCERROR = 20090
DRV_VRMVERSIONERROR = 20091
DRV_GATESTEPERROR = 20092
DRV_USB_INTERRUPT_ENDPOINT_ERROR = 20093
DRV_RANDOM_TRACK_ERROR = 20094
DRV_INVALID_TRIGGER_MODE = 20095
DRV_LOAD_FIRMWARE_ERROR = 20096
DRV_DIVIDE_BY_ZERO_ERROR = 20097
DRV_INVALID_RINGEXPOSURES = 20098
DRV_BINNING_ERROR = 20099
DRV_INVALID_AMPLIFIER = 20100
DRV_INVALID_COUNTCONVERT_MODE = 20101
DRV_USB_INTERRUPT_ENDPOINT_TIMEOUT = 20102
DRV_ERROR_NOCAMERA = 20990
DRV_NOT_SUPPORTED = 20991
DRV_NOT_AVAILABLE = 20992
DRV_ERROR_MAP = 20115
DRV_ERROR_UNMAP = 20116
DRV_ERROR_MDL = 20117
DRV_ERROR_UNMDL = 20118
DRV_ERROR_BUFFSIZE = 20119
DRV_ERROR_NOHANDLE = 20121
DRV_GATING_NOT_AVAILABLE = 20130
DRV_FPGA_VOLTAGE_ERROR = 20131
DRV_OW_CMD_FAIL = 20150
DRV_OWMEMORY_BAD_ADDR = 20151
DRV_OWCMD_NOT_AVAILABLE = 20152
DRV_OW_NO_SLAVES = 20153
DRV_OW_NOT_INITIALIZED = 20154
DRV_OW_ERROR_SLAVE_NUM = 20155
DRV_MSTIMINGS_ERROR = 20156
DRV_OA_NULL_ERROR = 20173
DRV_OA_PARSE_DTD_ERROR = 20174
DRV_OA_DTD_VALIDATE_ERROR = 20175
DRV_OA_FILE_ACCESS_ERROR = 20176
DRV_OA_FILE_DOES_NOT_EXIST = 20177
DRV_OA_XML_INVALID_OR_NOT_FOUND_ERROR = 20178
DRV_OA_PRESET_FILE_NOT_LOADED = 20179
DRV_OA_USER_FILE_NOT_LOADED = 20180
DRV_OA_PRESET_AND_USER_FILE_NOT_LOADED = 20181
DRV_OA_INVALID_FILE = 20182
DRV_OA_FILE_HAS_BEEN_MODIFIED = 20183
DRV_OA_BUFFER_FULL = 20184
DRV_OA_INVALID_STRING_LENGTH = 20185
DRV_OA_INVALID_CHARS_IN_NAME = 20186
DRV_OA_INVALID_NAMING = 20187
DRV_OA_GET_CAMERA_ERROR = 20188
DRV_OA_MODE_ALREADY_EXISTS = 20189
DRV_OA_STRINGS_NOT_EQUAL = 20190
DRV_OA_NO_USER_DATA = 20191
DRV_OA_VALUE_NOT_SUPPORTED = 20192
DRV_OA_MODE_DOES_NOT_EXIST = 20193
DRV_OA_CAMERA_NOT_SUPPORTED = 20194
DRV_OA_FAILED_TO_GET_MODE = 20195
DRV_OA_CAMERA_NOT_AVAILABLE = 20196
DRV_PROCESSING_FAILED = 20211
AC_ACQMODE_SINGLE = 1
AC_ACQMODE_VIDEO = 2
AC_ACQMODE_ACCUMULATE = 4
AC_ACQMODE_KINETIC = 8
AC_ACQMODE_FRAMETRANSFER = 16
AC_ACQMODE_FASTKINETICS = 32
AC_ACQMODE_OVERLAP = 64
AC_ACQMODE_TDI = 0x80
AC_READMODE_FULLIMAGE = 1
AC_READMODE_SUBIMAGE = 2
AC_READMODE_SINGLETRACK = 4
AC_READMODE_FVB = 8
AC_READMODE_MULTITRACK = 16
AC_READMODE_RANDOMTRACK = 32
AC_READMODE_MULTITRACKSCAN = 64
AC_TRIGGERMODE_INTERNAL = 1
AC_TRIGGERMODE_EXTERNAL = 2
AC_TRIGGERMODE_EXTERNAL_FVB_EM = 4
AC_TRIGGERMODE_CONTINUOUS = 8
AC_TRIGGERMODE_EXTERNALSTART = 16
AC_TRIGGERMODE_EXTERNALEXPOSURE = 32
AC_TRIGGERMODE_INVERTED = 0x40
AC_TRIGGERMODE_EXTERNAL_CHARGESHIFTING = 0x80
AC_TRIGGERMODE_EXTERNAL_RISING = 0x0100
AC_TRIGGERMODE_EXTERNAL_PURGE = 0x0200
AC_TRIGGERMODE_BULB = 32
AC_CAMERATYPE_PDA = 0
AC_CAMERATYPE_IXON = 1
AC_CAMERATYPE_ICCD = 2
AC_CAMERATYPE_EMCCD = 3
AC_CAMERATYPE_CCD = 4
AC_CAMERATYPE_ISTAR = 5
AC_CAMERATYPE_VIDEO = 6
AC_CAMERATYPE_IDUS = 7
AC_CAMERATYPE_NEWTON = 8
AC_CAMERATYPE_SURCAM = 9
AC_CAMERATYPE_USBICCD = 10
AC_CAMERATYPE_LUCA = 11
AC_CAMERATYPE_RESERVED = 12
AC_CAMERATYPE_IKON = 13
AC_CAMERATYPE_INGAAS = 14
AC_CAMERATYPE_IVAC = 15
AC_CAMERATYPE_UNPROGRAMMED = 16
AC_CAMERATYPE_CLARA = 17
AC_CAMERATYPE_USBISTAR = 18
AC_CAMERATYPE_SIMCAM = 19
AC_CAMERATYPE_NEO = 20
AC_CAMERATYPE_IXONULTRA = 21
AC_CAMERATYPE_VOLMOS = 22
AC_CAMERATYPE_IVAC_CCD = 23
AC_CAMERATYPE_ASPEN = 24
AC_CAMERATYPE_ASCENT = 25
AC_CAMERATYPE_ALTA = 26
AC_CAMERATYPE_ALTAF = 27
AC_CAMERATYPE_IKONXL = 28
AC_CAMERATYPE_CMOS_GEN2 = 29
AC_CAMERATYPE_ISTAR_SCMOS = 30
AC_CAMERATYPE_IKONLR = 31
AC_PIXELMODE_8BIT = 1
AC_PIXELMODE_14BIT = 2
AC_PIXELMODE_16BIT = 4
AC_PIXELMODE_32BIT = 8
AC_PIXELMODE_MONO = 0x000000
AC_PIXELMODE_RGB = 0x010000
AC_PIXELMODE_CMY = 0x020000
AC_SETFUNCTION_VREADOUT = 0x01
AC_SETFUNCTION_HREADOUT = 0x02
AC_SETFUNCTION_TEMPERATURE = 0x04
AC_SETFUNCTION_MCPGAIN = 0x08
AC_SETFUNCTION_EMCCDGAIN = 0x10
AC_SETFUNCTION_BASELINECLAMP = 0x20
AC_SETFUNCTION_VSAMPLITUDE = 0x40
AC_SETFUNCTION_HIGHCAPACITY = 0x80
AC_SETFUNCTION_BASELINEOFFSET = 0x0100
AC_SETFUNCTION_PREAMPGAIN = 0x0200
AC_SETFUNCTION_CROPMODE = 0x0400
AC_SETFUNCTION_DMAPARAMETERS = 0x0800
AC_SETFUNCTION_HORIZONTALBIN = 0x1000
AC_SETFUNCTION_MULTITRACKHRANGE = 0x2000
AC_SETFUNCTION_RANDOMTRACKNOGAPS = 0x4000
AC_SETFUNCTION_EMADVANCED = 0x8000
AC_SETFUNCTION_GATEMODE = 0x010000
AC_SETFUNCTION_DDGTIMES = 0x020000
AC_SETFUNCTION_IOC = 0x040000
AC_SETFUNCTION_INTELLIGATE = 0x080000
AC_SETFUNCTION_INSERTION_DELAY = 0x100000
AC_SETFUNCTION_GATESTEP = 0x200000
AC_SETFUNCTION_GATEDELAYSTEP = 0x200000
AC_SETFUNCTION_TRIGGERTERMINATION = 0x400000
AC_SETFUNCTION_EXTENDEDNIR = 0x800000
AC_SETFUNCTION_SPOOLTHREADCOUNT = 0x1000000
AC_SETFUNCTION_REGISTERPACK = 0x2000000
AC_SETFUNCTION_PRESCANS = 0x4000000
AC_SETFUNCTION_GATEWIDTHSTEP = 0x8000000
AC_SETFUNCTION_EXTENDED_CROP_MODE = 0x10000000
AC_SETFUNCTION_SUPERKINETICS = 0x20000000
AC_SETFUNCTION_TIMESCAN = 0x40000000
AC_SETFUNCTION_CROPMODETYPE = 0x80000000
AC_SETFUNCTION_GAIN = 8
AC_SETFUNCTION_ICCDGAIN = 8
AC_GETFUNCTION_TEMPERATURE = 0x01
AC_GETFUNCTION_TARGETTEMPERATURE = 0x02
AC_GETFUNCTION_TEMPERATURERANGE = 0x04
AC_GETFUNCTION_DETECTORSIZE = 0x08
AC_GETFUNCTION_MCPGAIN = 0x10
AC_GETFUNCTION_EMCCDGAIN = 0x20
AC_GETFUNCTION_HVFLAG = 0x40
AC_GETFUNCTION_GATEMODE = 0x80
AC_GETFUNCTION_DDGTIMES = 0x0100
AC_GETFUNCTION_IOC = 0x0200
AC_GETFUNCTION_INTELLIGATE = 0x0400
AC_GETFUNCTION_INSERTION_DELAY = 0x0800
AC_GETFUNCTION_GATESTEP = 0x1000
AC_GETFUNCTION_GATEDELAYSTEP = 0x1000
AC_GETFUNCTION_PHOSPHORSTATUS = 0x2000
AC_GETFUNCTION_MCPGAINTABLE = 0x4000
AC_GETFUNCTION_BASELINECLAMP = 0x8000
AC_GETFUNCTION_GATEWIDTHSTEP = 0x10000
AC_GETFUNCTION_GAIN = 0x10
AC_GETFUNCTION_ICCDGAIN = 0x10
AC_FEATURES_POLLING = 1
AC_FEATURES_EVENTS = 2
AC_FEATURES_SPOOLING = 4
AC_FEATURES_SHUTTER = 8
AC_FEATURES_SHUTTEREX = 16
AC_FEATURES_EXTERNAL_I2C = 32
AC_FEATURES_SATURATIONEVENT = 64
AC_FEATURES_FANCONTROL = 128
AC_FEATURES_MIDFANCONTROL = 256
AC_FEATURES_TEMPERATUREDURINGACQUISITION = 512
AC_FEATURES_KEEPCLEANCONTROL = 1024
AC_FEATURES_DDGLITE = 0x0800
AC_FEATURES_FTEXTERNALEXPOSURE = 0x1000
AC_FEATURES_KINETICEXTERNALEXPOSURE = 0x2000
AC_FEATURES_DACCONTROL = 0x4000
AC_FEATURES_METADATA = 0x8000
AC_FEATURES_IOCONTROL = 0x10000
AC_FEATURES_PHOTONCOUNTING = 0x20000
AC_FEATURES_COUNTCONVERT = 0x40000
AC_FEATURES_DUALMODE = 0x80000
AC_FEATURES_OPTACQUIRE = 0x100000
AC_FEATURES_REALTIMESPURIOUSNOISEFILTER = 0x200000
AC_FEATURES_POSTPROCESSSPURIOUSNOISEFILTER = 0x400000
AC_FEATURES_DUALPREAMPGAIN = 0x800000
AC_FEATURES_DEFECT_CORRECTION = 0x1000000
AC_FEATURES_STARTOFEXPOSURE_EVENT = 0x2000000
AC_FEATURES_ENDOFEXPOSURE_EVENT = 0x4000000
AC_FEATURES_CAMERALINK = 0x8000000
AC_FEATURES_FIFOFULL_EVENT = 0x10000000
AC_FEATURES_SENSOR_PORT_CONFIGURATION = 0x20000000
AC_FEATURES_SENSOR_COMPENSATION = 0x40000000
AC_FEATURES_IRIG_SUPPORT = 0x80000000
AC_EMGAIN_8BIT = 1
AC_EMGAIN_12BIT = 2
AC_EMGAIN_LINEAR12 = 4
AC_EMGAIN_REAL12 = 8
AC_FEATURES2_ESD_EVENTS = 1
AC_FEATURES2_DUAL_PORT_CONFIGURATION = 2
AC_FEATURES2_OVERTEMP_EVENTS = 4
